glunurbsproperty - Man Page






gluNurbsProperty(3G)	       OpenGL Reference		  gluNurbsProperty(3G)



NAME
     gluNurbsProperty -	set a NURBS property


C SPECIFICATION
     void gluNurbsProperty( GLUnurbs* nurb,
			    GLenum property,
			    GLfloat value )


PARAMETERS
     nurb      Specifies the NURBS object (created with	gluNewNurbsRenderer).

     property  Specifies the property to be set.  Valid	values are
	       GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_CULLING,
	       GLU_AUTO_LOAD_MATRIX, GLU_PARAMETRIC_TOLERANCE,
	       GLU_SAMPLING_METHOD, GLU_U_STEP,	or GLU_V_STEP.

     value     Specifies the value of the indicated property.  It may be a
	       numeric value, or one of	GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR,
	       or GLU_DOMAIN_DISTANCE.



DESCRIPTION
     gluNurbsProperty is used to control properties stored in a	NURBS object.
     These properties affect the way that a NURBS curve	is rendered.  The
     legal values for  property	are as follows:

     GLU_SAMPLING_METHOD specifies how a NURBS surface should be
	       tessellated. value may be set to	one of GLU_PATH_LENGTH,
	       GLU_PARAMETRIC_ERROR, or	GLU_DOMAIN_DISTANCE. When set to
	       GLU_PATH_LENGTH,	the surface is rendered	so that	the maximum
	       length, in pixels, of the edges of the tessellation polygons is
	       no greater than what is specified by GLU_SAMPLING_TOLERANCE.
	       GLU_PARAMETRIC_ERROR specifies that the surface is rendered in
	       such a way that the value specified by GLU_PARAMETRIC_TOLERANCE
	       describes the maximum distance, in pixels, between the
	       tessellation polygons and the surfaces they approximate.
	       GLU_DOMAIN_DISTANCE allows users	to specify, in parametric
	       coordinates, how	many sample points per unit length are taken
	       in u, v direction. The default value of GLU_SAMPLING_METHOD is
	       GLU_PATH_LENGTH.

     GLU_SAMPLING_TOLERANCE specifies the maximum length, in pixels to
	       use when	the sampling method is set to GLU_PATH_LENGTH. The
	       NURBS code is conservative when rendering a curve or surface,
	       so the actual length can	be somewhat shorter. The default value
	       is 50.0 pixels.






									Page 1






gluNurbsProperty(3G)	       OpenGL Reference		  gluNurbsProperty(3G)



     GLU_PARAMETRIC_TOLERANCE specifies	the maximum distance, in pixels,
	       to use when the sampling	method is set to GLU_PARAMETRIC_ERROR.
	       The default value for GLU_PARAMETRIC_TOLERANCE is 0.5.

     GLU_U_STEP	specifies the number of	sample points per unit length taken
	       along the u axis	in parametric coordinates. It is needed	when
	       GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE.  The default
	       value is	100.

     GLU_V_STEP	specifies the number of	sample points per unit length taken
	       along the v axis	in parametric coordinate. It is	needed when
	       GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE.  The default
	       value is	100.

     GLU_DISPLAY_MODE
	       value defines how a NURBS surface should	be rendered.  value
	       can be set to GLU_FILL, GLU_OUTLINE_POLYGON, or
	       GLU_OUTLINE_PATCH.  When	set to GLU_FILL, the surface is
	       rendered	as a set of polygons.  GLU_OUTLINE_POLYGON instructs
	       the NURBS library to draw only the outlines of the polygons
	       created by tessellation.	GLU_OUTLINE_PATCH causes just the
	       outlines	of patches and trim curves defined by the user to be
	       drawn.  The default value is GLU_FILL.

     GLU_CULLING
	       value is	a Boolean value	that, when set to GL_TRUE, indicates
	       that a NURBS curve should be discarded prior to tessellation if
	       its control points lie outside the current viewport.  The
	       default is GL_FALSE (because a NURBS curve cannot fall entirely
	       within the convex hull of its control points).

     GLU_AUTO_LOAD_MATRIX
	       value is	a Boolean value.  When set to GL_TRUE, the NURBS code
	       downloads the projection	matrix,	the modelview matrix, and the
	       viewport	from the OpenGL	server to compute sampling and culling
	       matrices	for each NURBS curve that is rendered.	Sampling and
	       culling matrices	are required to	determine the tesselation of a
	       NURBS surface into line segments	or polygons and	to cull	a
	       NURBS surface if	it lies	outside	of the viewport.  If this mode
	       is set to GL_FALSE, then	the user needs to provide a projection
	       matrix, a modelview matrix, and a viewport for the NURBS
	       renderer	to use to construct sampling and culling matrices.
	       This can	be done	with the gluLoadSamplingMatrices function.
	       The default for this mode is GL_TRUE.  Changing this mode from
	       GL_TRUE to GL_FALSE does	not affect the sampling	and culling
	       matrices	until  gluLoadSamplingMatrices is called.

NOTES
     If	GLU_AUTO_LOAD_MATRIX is	true, sampling and culling may be executed
     incorrectly if NURBS routines are compiled	into a display list.





									Page 2






gluNurbsProperty(3G)	       OpenGL Reference		  gluNurbsProperty(3G)



     A property	of GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP,
     or	GLU_V_STEP, or a value of GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR,
     GLU_DOMAIN_DISTANCE will only be supported	in GLU version number 1.1.
     They are not valid	parameters in GLU 1.0.

     gluGetString can be used to determine the GLU version.


SEE ALSO
     gluGetNurbsProperty, gluLoadSamplingMatrices, gluNewNurbsRenderer,
     gluGetString.












































									Page 3